package com.rykj.energy.common.enums;


public enum ExceptionCode {
    SYSTEM_CODE(10000, "系统编号"),
    PARAM_ERROR(10001, "参数错误"),
    PARAM_NOT_NULL(10002, "参数不能为空"),
    AUDIO_IS_EXIST(10003, "此音频播放器已存在"),
    ADD_AUDIO_EXCEPTION(10004, "音频播放器增加异常"),
    SELECT_AUDIO_LIST_EXCEPTION(10005, "音频播放器列表查询异常"),
    AUDIO_NOT_EXIST(10006, "此播放器不存在"),
    AUDIO_INFO_EXCEPTION(10007, "音频播放器信息加载异常"),
    UPDATE_AUDIO_EXCEPTION(10008, "音频播放器修改异常"),
    DELETE_AUDIO_EXCEPTION(10009, "音频播放器删除异常"),
    MOVE_CAMERA_EXCEPTION(10010, "移动摄像头失败"),
    DELETE_CAMERA_EXCEPTION(10011, "删除摄像头失败"),
    UPDATE_CAMERA_EXCEPTION(10012, "编辑摄像头失败"),
    CAMERA_NOT_EXIST(10013, "摄像头不存在"),
    CAMERA_INFO_EXCEPTION(10014, "获取摄像头详细信息失败"),
    CAMERA_GROUP_EXCEPTION(10015, "获取摄像头目录失败"),
    CAMERA_GROUP_IS_EXIST(10016, "此摄像头分组已存在"),
    ADD_CAMERA_GROUP_EXCEPTION(10017, "新增摄像头分组失败"),
    CAMERA_GROUP_NOT_EXIST(10018, "此摄像头分组不存在"),
    DELETE_CAMERA_GROUP_EXCEPTION(10019, "删除摄像头分组失败"),
    UPDATE_CAMERA_GROUP_EXCEPTION(10020, "编辑摄像头分组失败"),
    USER_NOT_EXIST(10021, "人员不存在"),
    USER_NUMBER_IS_EXIST(10022, "人员编号已存在"),
    CAMERA_CONNECT_FAIL(10023, "创建失败，请检查摄像头连接参数是否有误"),
    UPDATE_CONNECT_FAIL(10023, "编辑失败，请检查摄像头连接参数是否有误"),
    CAMERA_IS_EXISTENCE(10024, " 摄像头的ip重复，请检查后重试"),
    RTSPURL_IS_EXISTENCE(10025, "RTSP地址重复，请检查后重试"),
    CAMERA_NAME_IS_EXISTENCE(10026, "摄像头名称已存在"),
    CAMERA_NAME_IS_REPEAT(10027, "摄像头名称重复"),
    CONNENT_CS_NULL(10028, "连接计算客户端失败，请检查服务是否启动。"),
    UPDATE_CAMERA_AREA_TASK(10029, "更新区域下摄像头任务失败：提交任务到调度"),
    DATA_ERROR(10030, "参数不合法"),
    AREA_NUMBER_IS_NULL(10101, "区域编号不能为空"),
    TASK_TYPE_IS_NULL(10102, "任务类型不能为空"),
    NOTICE_TYPE_IS_NULL(10103, "通知方式不能为空"),
    ORG_ID_IS_NULL(10104, "组织id不能为空"),
    ORG_NOT_EXIST(10105, "组织不存在"),
    NOTICE_NOT_EXIST(10106, "该方式不存在"),
    NO_FACE(10200, "未抓取到人脸"),
    GET_SDKVERSION_FAIL(10201, "获取SDK版本号失败"),
    ADD_TASK_FAIL(10301, "提交添加任务到调度失败："),
    DEL_TASK_FAIL(10302, "提交删除任务到调度失败："),

    NOTICE_ID_IS_NULL(10401, "通知id不能为空"),

    TASK_TIME_ERROR(10501, "任务时间参数错误"),

    TASK_REPEAT(50001, "不能重复创建相同任务"),
    TASK_RUNING(50002, "任务已开始，不能删除"),
    PUSH_SCHEDULE_FAIL(50004, "提交任务到调度失败："),
    CAMERA_DELETED(50005, "摄像头已删除："),
    WEEK_VALUE(50101, "请选择周几查寝"),
    
    
    IS_HANDLE(60001, "请勿重复处理"),

    NO_POWER(90001, "没有权限");



    /**
     * 错误码
     */
    private int code;
    
    /**
     * 错误提示信息
     */
    private String message;


    private ExceptionCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    public static ExceptionCode parse(String message) {
        ExceptionCode status = null;
        for (ExceptionCode obj : ExceptionCode.values()) {
            if (obj.getMessage().equals(message)) {
                status = obj;
                break;
            }
        }
        return status;
    }

    public static ExceptionCode parse(int code) {
        ExceptionCode status = null;
        for (ExceptionCode obj : ExceptionCode.values()) {
            if (obj.getCode() == code) {
                status = obj;
                break;
            }
        }
        return status;
    }

    @Override
    public String toString() {
        return code + "_" + message;
    }
}
